/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Cliente.util;

import Cliente.Entidade.Cliente;

/**
 *
 * @author Caio Valentim
 */
public class CalculaRCQ extends CalculoAbstractHandler {

 
 
    @Override
    public boolean accept(Cliente cliente) {
        return (cliente.getCintura()>0.0 && cliente.getQuadril()>0.0 && cliente.getIdade()>0.0);
    }

    @Override
    public void Calcula(Cliente cliente) {
        Double cintura;
        Double quadril;
        Integer idade;
        String sexo;
        Double rcq;

        idade = cliente.getIdade();
        cintura = cliente.getCintura();
        quadril = cliente.getQuadril();
        sexo = cliente.getSexo();


        rcq = (cintura / quadril);
        if (sexo == "Masculino") {
            if (idade <= 29) {
                if (rcq <= 0.83) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.83 && rcq <= 0.88) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.88 && rcq <= 0.94) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 0.94) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 30 && idade < 39) {
                if (rcq <= 0.84) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.84 && rcq <= 0.91) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.91 && rcq <= 0.96) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 0.96) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 40 && idade < 49) {
                if (rcq <= 0.88) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.88 && rcq <= 0.95) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.95 && rcq <= 1) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 1) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 50 && idade < 59) {
                if (rcq <= 0.9) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.9 && rcq <= 0.96) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.96 && rcq <= 1.02) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 1.02) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 59) {
                if (rcq <= 0.91) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.91 && rcq <= 0.98) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.98 && rcq <= 1.03) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 1.03) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }

        }
        if (sexo == "Feminino") {
            if (idade <= 29) {
                if (rcq <= 0.71) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.71 && rcq <= 0.77) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.77 && rcq <= 0.82) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 0.82) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 30 && idade < 39) {
                if (rcq <= 0.72) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.72 && rcq <= 0.78) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.78 && rcq <= 0.84) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 0.84) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 40 && idade < 49) {
                if (rcq <= 0.73) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.73 && rcq <= 0.79) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.79 && rcq <= 0.87) {
                    cliente.setRCQ ("RCQ Alto");
                }
                if (rcq > 0.87) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 50 && idade < 59) {
                if (rcq <= 0.74) {
                    cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.74 && rcq <= 0.81) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.81 && rcq <= 0.88) {
                   cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 0.88) {
                   cliente.setRCQ("RCQ Muito alto");
                }
            }
            if (idade > 59) {
                if (rcq <= 0.76) {
                   cliente.setRCQ("RCQ Baixo");
                }
                if (rcq > 0.76 && rcq <= 0.83) {
                    cliente.setRCQ("RCQ Moderado");
                }
                if (rcq > 0.83 && rcq <= 0.9) {
                    cliente.setRCQ("RCQ Alto");
                }
                if (rcq > 0.9) {
                    cliente.setRCQ("RCQ Muito alto");
                }
            }
        }
    }
}
